A technology for automatically generating an image processing program that performs desired image processing, by using genetic programming, is drawing attention. This technology is designed to optimize an image processing program that is generated by combining partial programs for image processing (for example, image filtering programs), based on learning data such as pairs of an input image and an image obtained as a result of processing (a target image), by using genetic programming.
As an example of an apparatus using genetic programming, there has been proposed a genetic processing apparatus that evolves a converter, using weight data of the current generation and weight data of the previous generations.
See, for example, the following documents:    Japanese Laid-Open Patent Publication No. 2011-14049; and    Shinya Aoki and Tomoharu Nagao, “ACTIT: Automatic Construction of Tree-structural Image Transformations”, The Journal of The Institute of Image Information and Television Engineers, Vol. 53, No. 6, Jun. 20, 1999, pp. 888-894.
In the process of automatically generating an image processing program by using genetic programming, the following survival selection method is used, for example. That is, an input image included in learning data is processed with a program corresponding to an individual generated in the course of learning. An output data that is output as the processing result is compared with a target image included in the learning data. Then, a determination is made as to whether to pass the individual to the next generation, based on the comparison result.
However, a problem with this method is that an effective individual that promotes learning may be eliminated depending on the content of image processing. This problem may result in an increase in time taken to generate an image processing program.